The objective of this project was to develop a firmware based on a concept that would prove practical in real-life scenarios, whether that has been done or not. While the competition does not restrict to only a single discipline,
                            setting or environment, we wanted an autonomous project that would make space travel more reliable. We propose a CubeSat that could reliably find an optimal orientation system to maintain full system power with the onboard
                            solar panels. We intended to have it reorient towards the greatest light source, through analogue signals processing of four evenly placed photoresistors on the surface with the same direction as the deployed solar panels.
The significant complication that occurred within this project was sourcing the appropriate motors and motor driver for the CubeSat, as most online project presentation do not provide their resources, and the ones that do are outside
                            of our budget's comfort zone. Because no one had experience with projects similar to this nor did they have many experiences with encoder motors, everything was to learn on the go, and that was why it made sourcing components
                            more challenging than expected. This project originally had different plans where we would have our demonstration on a gimbal-like-system and it would have corrected itself onto the light source using the motors. However, as
                            the deadline approaches and our course work started piling up, many members, including me, failed to keep up with this competition, so we had no choice but to cut corner to at least meet our objective. The original plan would
                            involve the BN005 sensor for the gyroscope, however, with the final iteration, we that sensor would prove obsolete as we would not need to worry about where it is orientated, as long as it focused on the light source.
The
                            payload team has made several design changes to the CubeSat in the last month. First, the CubeSat’s form factor has been reduced to a 3U; after re-evaluating the power requirements of the payload it was decided to remove the
                            1U power bank from its end. Secondly, the CubeSat’s virtual mission has been updated. Rather than debris detection, the CubeSat’s mission will be to track and de-orbit specific targets. In theory, the CubeSat would be deployed
                            from a satellite with a programmed trajectory to intercept a target and push the object toward Earth. During the journey to its target, the payload will use its attitude adjustment systems including reaction wheels and gas
                            thrusters to maximize its solar charge. To recognize and track its target, the CubeSat will employ the OpenCV API. It will also send image/video data to the ground station, which will be analyzed with the TensorFlow API. The
                            CubeSat will use the results of this analysis to orient and move itself toward its target. After making contact with the target, the CubeSat will fire its rear thruster and push it toward Earth.
Process
The project consists of I2C, and SPI communication between a microcontroller, sets of sensors, and a motor controller. Using photoresistors as feedback for the location of the light source relative to the top of the system, the
                            microcontroller updates the sets of motors to autonomously redirect itself towards that light source. The microcontroller is an Arduino nano which has enough ports and memory for the operation needed. The nano also has a small
                            form factor which helps out significantly in the design of the overall system, which allowed it to maintain a compact size for demonstrations and transportation. All of the modules are connected to the Arduino through the analogue
                            pins, and the I2C pins, taken up about half of our available ports. The whole system could be simplified into three components: sensors, motors, and the microcontroller, and they all work in tandem in a constant feedback loop.
 
                            This project refined my understanding of embedded software concepts and computer science fundamentals through various implementations of schematic design and problem-solving solutions. The project guided me through independent
                                research and development along with cooperative communication in design decisions.
